268. DNS檔廣告伺服器-AdguardHome
WHY
有天看文章時,看到有人介紹 Pi-Hole,
這是一款 DNS Sinkhole,簡單說就是直接在DNS過濾廣告。
然後查了一下相關訊息,發現另一套 Adguard,
這套以前就有看過,但要付費。
但是!!!他有提供免費版本,可以替代Pi-Hole。
Note
隨便找一台機器,使用docker安裝。
下面提供docker-compose版本。
version: '3.8'
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: unless-stopped
volumes:
- ./data/workdir:/opt/adguardhome/work
- ./date/confdir:/opt/adguardhome/conf
ports:
- "53:53/tcp"
- "53:53/udp"
- "3000:3000/tcp"
- "3310:3310/tcp"
- "784:784/udp" # run AdGuard Home as a DNS-over-QUIC server.
- "853:853/udp" # run AdGuard Home as a DNS-over-QUIC server.
- "8853:8853/udp" # run AdGuard Home as a DNS-over-QUIC server.
networks:
- adguard_network
networks:
adguard_network:
driver: bridge
由於我是使用docker對映port轉發,
所以使用機器的ip後面加上port 3000,
此時會到設定畫面。
將上面的port,由預設的80改為3310。
(因為我機器的80被用走了),
再來設定帳密,之後都直接下一步即可。
但到了開啟儀表板的按鈕時,需手動更改位置。
因為預設開啟的位置是 172.31.0.2:3310
,
這是adguard的container ip。
改成上面開啟設定頁面的ip 加上剛剛設定的port 3310, 192.168.103.224:3310
就能開啟登入頁了。
詳情參考入門。
如果不想使用docker compose,
dockerhub上面有指令。
如果用docker run的話,可能要看一下打算用哪個port去開啟儀表板。
下面的圖就不太適合了
docker run --name adguardhome\
--restart unless-stopped\
-v /my/own/workdir:/opt/adguardhome/work\
-v /my/own/confdir:/opt/adguardhome/conf\
-p 53:53/tcp -p 53:53/udp\
-p 67:67/udp -p 68:68/udp\
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
-p 853:853/tcp\
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome
之後記得到要使用的裝置上面更改dns。
ref.